package q1464_maxProduct;

public class Solution {
    public static void main(String[] args) {
        System.out.println(13 | 5);
    }
    /*
    实际上就是从正数的数组中找出最大值和次大值
    因此需要遍历一遍并维护两个变量
    当然最简单的另一种方法是排序后直接取最后两个数，但是这种方法只需要o(N)
     */
    public int maxProduct(int[] nums) {
        int a = Math.max(nums[0], nums[1]), b = nums[1] + nums[0] - a;
        for (int i = 2; i < nums.length; i++) {
            if (nums[i] > a) {
                b = a;
                a = nums[i];
            } else if (nums[i] > b) {
                b = nums[i];
            }
        }
        return (a - 1) * (b - 1);
    }
}
